home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / p4 / p4-1_2c.lha / p4-1.2c / contrib / bcast.c next >
C/C++ Source or Header  |  1993-07-13  |  727b  |  41 lines

  1. #include "p4.h"
  2.  
  3. #define FINAL_BARRIER 4
  4. #define MESSAGE       6
  5.     
  6. main(argc,argv)
  7. int argc;
  8. char **argv;
  9. {
  10.     
  11.     p4_initenv(&argc,argv);
  12.     if (p4_get_my_id() == 0)
  13.         p4_create_procgroup();
  14.     slave();
  15.     p4_global_barrier(FINAL_BARRIER); /* broadcasts may be in progress */
  16.     p4_wait_for_end();
  17. }
  18.  
  19. slave()    
  20. {
  21.     int my_num, work_num;
  22.     int mtyp = MESSAGE, dummy, len, i;
  23.     char *msg;
  24.     int tempfrom;
  25.     
  26.     my_num = p4_get_my_id();
  27.     work_num = p4_num_total_ids();
  28.     
  29.     p4_broadcast(mtyp, (char *) &dummy, sizeof(int));
  30.     
  31.     for (i=0; i<work_num; i++)
  32.     if (i != my_num)
  33.     {
  34.         msg = NULL;
  35.         p4_dprintf("hallo: %d\n",i);
  36.         p4_recv(&mtyp, &i, &msg, &len);
  37.     }
  38.     p4_msg_free(msg);
  39. }
  40.  
  41.